/*给你一个整数 x ，如果 x 是一个回文整数，返回 true ；否则，返回 false 。

回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。例如，121 是回文，而 123 不是。

*/
class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0||(x%10==0&&x!=0)){
            return false;
        }
        int n=1;
        int y=x/10;
        while(y!=0){
            n++;
            y=y/10;
        }
        int n1=(n+1)/2;
        int q=1;
        for(int j=0;j<n1;j++){
            q*=10;
        }
        int x1=x/q;
        int n2=0;
        int n3=x;
        for(int i=0;i<n1;i++){
            n2=n2*10+n3%10;
            n3/=10;
        }
        return x1==n2||x1==(n2/10);
    }
};